home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
351-375
/
disk_353
/
aztecarp
/
crt0.asm
< prev
next >
Wrap
Assembly Source File
|
1992-05-06
|
2KB
|
98 lines
; Initial startup routine for Aztec 'C' and ARP
; NB: This should allow access to all Aztec Features, math, etc.
; Could be made smaller if only for CLI, only for Workbench,
; Could be made smaller if only this or that.
;
; Created 11/08/87 by -+=SDB+=- from crt0.a68 file provided by Manx
; Copyright (c) 1987 by Scott Ballantyne, may be freely
; used by Arp Supporters/users
;
; 10-Mar-90: Some minor rework for Aztec 5.0 release.
; This should rather use rstart.asm code.
;
; INCLUDE "asmsupp.i"
INCLUDE "exec/types.i"
; INCLUDE "exec/exec_lib.i"
INCLUDE "exec/alerts.i"
INCLUDE "libraries/arpbase.i"
XREF _LVOOpenLibrary
XREF _LVOAlert
mc68881
entry .begin
public .begin
.begin
bsr _geta4 ;get A4
lea __H1_end,a1
lea __H2_org,a2
cmp.l a1,a2 ;check if BSS and DATA together
bne start ;no, don't have to clear
move.w #((__H2_end-__H2_org)/4)-1,d1
bmi start ;skip if no bss
move.l #0,d2
loop
move.l d2,(a1)+ ;clear out memory
dbra d1,loop
start
move.l sp,__savsp ;save stack pointer
move.l 4,a6 ;get Exec's library base pointer
move.l a6,_SysBase ;put where we can get it
movem.l d0/a0,-(sp) ;save CLI command parameters
btst.b #4,$129(a6) ;check for 68881 flag in AttnFlags
beq 1$ ;skip if not
lea 2$,a5
jsr -30(a6) ;do it in supervisor mode
bra 1$
2$
clr.l -(sp)
frestore (sp)+ ;reset the ffp stuff
rte ;and return
1$
if 0
lea ARPNAME,a1 ;get name of arp_library
moveq.l #ArpVersion,d0
SYSCALL OpenLibrary
move.l d0,_ArpBase ; set up pointer
; move.l d0,_DOSBase ; also as Dos pointer
bne 3$ ; skip if okay
add.w #8,sp
GURU AG_OpenLib!AO_ArpLib,0,0
3$
move.l d0,a0
move.l DosBase(a0),_DOSBase ; Give free dos.library
move.l GfxBase(a0),_GfxBase ; Give free graphics.library
move.l IntuiBase(a0),_IntuitionBase ; and free intuition.library
endc
jsr __main ;call the startup stuff
4$
add.w #8,sp ;pop args
rts ;and return
; ARPNAME: ArpName
public _geta4
_geta4:
far data
lea __H1_org+32766,a4
rts
public __main,__H0_org
dseg
public _SysBase,__savsp,___sloppy__ ; ,_DOSBase
public __H1_org,__H1_end,__H2_org,__H2_end
; public _ArpBase
; public _IntuitionBase,_GfxBase
___sloppy__:
dc.l 0